// 源码中这里的api是由 rutime-dom 实现的
// 再这里先简单实现
export function hostCreateElement(type){
    const element = document.createElement(type);
    return element;
}

export function hostSetElementText(el, text){
    el.innerText = text;
}

export function hostPatchProp(el, key, preValue, nextValue){
    //preValue之前的值，是为了之后的update做准备的值
    // nextValue为当前的值

    switch(key){
        case "id":
        case "tId":
            if(nextValue === null || nextValue === undefined){
                el.removeAttribute(key);
            }else{
                el.setAttribute(key, nextValue);
            }
            break;
        case "onClick":
            // TODO:
            // 先临时实现click事件:
            // 后面应该使用directive来处理
            el.addEventListener("click", nextValue);
            break;
    }
}

export function hostInsert(child, parent, anchor = null){
    if(anchor){
        parent.insertBefore(child, anchor);
    }else{
        parent.appendChild(child);
    }
}

export function hostRemove(child){
    const parent = child.parentNode;
    if(parent){
        parent.removeChild(child)
    }
}